package com.eshop.tools.express.dao;

import java.util.List;
import io.swagger.annotations.ApiModelProperty;
import com.fasterxml.jackson.annotation.JsonProperty;

public class ExpressInfo
{
    @JsonProperty("LogisticCode")
    @ApiModelProperty("物流运单号")
    private String LogisticCode;
    @JsonProperty("ShipperCode")
    @ApiModelProperty("快递公司编码")
    private String ShipperCode;
    @JsonProperty("Traces")
    @ApiModelProperty("物流轨迹")
    private List<Traces> Traces;
    @JsonProperty("State")
    @ApiModelProperty("物流状态：2-在途中,3-签收,4-问题件")
    private String State;
    @JsonProperty("EBusinessID")
    @ApiModelProperty("用户ID")
    private String EBusinessID;
    @JsonProperty("Success")
    @ApiModelProperty("成功与否")
    private boolean Success;
    @JsonProperty("Reason")
    @ApiModelProperty("失败原因")
    private String Reason;
    private String ShipperName;
    @JsonProperty("OrderCode")
    @ApiModelProperty("订单编号")
    private String OrderCode;
    
    public String getLogisticCode() {
        return this.LogisticCode;
    }
    
    public String getShipperCode() {
        return this.ShipperCode;
    }
    
    public List<Traces> getTraces() {
        return this.Traces;
    }
    
    public String getState() {
        return this.State;
    }
    
    public String getEBusinessID() {
        return this.EBusinessID;
    }
    
    public boolean isSuccess() {
        return this.Success;
    }
    
    public String getReason() {
        return this.Reason;
    }
    
    public String getShipperName() {
        return this.ShipperName;
    }
    
    public String getOrderCode() {
        return this.OrderCode;
    }
    
    @JsonProperty("LogisticCode")
    public void setLogisticCode(final String LogisticCode) {
        this.LogisticCode = LogisticCode;
    }
    
    @JsonProperty("ShipperCode")
    public void setShipperCode(final String ShipperCode) {
        this.ShipperCode = ShipperCode;
    }
    
    @JsonProperty("Traces")
    public void setTraces(final List<Traces> Traces) {
        this.Traces = Traces;
    }
    
    @JsonProperty("State")
    public void setState(final String State) {
        this.State = State;
    }
    
    @JsonProperty("EBusinessID")
    public void setEBusinessID(final String EBusinessID) {
        this.EBusinessID = EBusinessID;
    }
    
    @JsonProperty("Success")
    public void setSuccess(final boolean Success) {
        this.Success = Success;
    }
    
    @JsonProperty("Reason")
    public void setReason(final String Reason) {
        this.Reason = Reason;
    }
    
    public void setShipperName(final String ShipperName) {
        this.ShipperName = ShipperName;
    }
    
    @JsonProperty("OrderCode")
    public void setOrderCode(final String OrderCode) {
        this.OrderCode = OrderCode;
    }
    
    @Override
    public boolean equals(final Object o) {
        if (o == this) {
            return true;
        }
        if (!(o instanceof ExpressInfo)) {
            return false;
        }
        final ExpressInfo other = (ExpressInfo)o;
        if (!other.canEqual(this)) {
            return false;
        }
        if (this.isSuccess() != other.isSuccess()) {
            return false;
        }
        final Object this$LogisticCode = this.getLogisticCode();
        final Object other$LogisticCode = other.getLogisticCode();
        Label_0078: {
            if (this$LogisticCode == null) {
                if (other$LogisticCode == null) {
                    break Label_0078;
                }
            }
            else if (this$LogisticCode.equals(other$LogisticCode)) {
                break Label_0078;
            }
            return false;
        }
        final Object this$ShipperCode = this.getShipperCode();
        final Object other$ShipperCode = other.getShipperCode();
        Label_0115: {
            if (this$ShipperCode == null) {
                if (other$ShipperCode == null) {
                    break Label_0115;
                }
            }
            else if (this$ShipperCode.equals(other$ShipperCode)) {
                break Label_0115;
            }
            return false;
        }
        final Object this$Traces = this.getTraces();
        final Object other$Traces = other.getTraces();
        Label_0152: {
            if (this$Traces == null) {
                if (other$Traces == null) {
                    break Label_0152;
                }
            }
            else if (this$Traces.equals(other$Traces)) {
                break Label_0152;
            }
            return false;
        }
        final Object this$State = this.getState();
        final Object other$State = other.getState();
        Label_0189: {
            if (this$State == null) {
                if (other$State == null) {
                    break Label_0189;
                }
            }
            else if (this$State.equals(other$State)) {
                break Label_0189;
            }
            return false;
        }
        final Object this$EBusinessID = this.getEBusinessID();
        final Object other$EBusinessID = other.getEBusinessID();
        Label_0226: {
            if (this$EBusinessID == null) {
                if (other$EBusinessID == null) {
                    break Label_0226;
                }
            }
            else if (this$EBusinessID.equals(other$EBusinessID)) {
                break Label_0226;
            }
            return false;
        }
        final Object this$Reason = this.getReason();
        final Object other$Reason = other.getReason();
        Label_0263: {
            if (this$Reason == null) {
                if (other$Reason == null) {
                    break Label_0263;
                }
            }
            else if (this$Reason.equals(other$Reason)) {
                break Label_0263;
            }
            return false;
        }
        final Object this$ShipperName = this.getShipperName();
        final Object other$ShipperName = other.getShipperName();
        Label_0300: {
            if (this$ShipperName == null) {
                if (other$ShipperName == null) {
                    break Label_0300;
                }
            }
            else if (this$ShipperName.equals(other$ShipperName)) {
                break Label_0300;
            }
            return false;
        }
        final Object this$OrderCode = this.getOrderCode();
        final Object other$OrderCode = other.getOrderCode();
        if (this$OrderCode == null) {
            if (other$OrderCode == null) {
                return true;
            }
        }
        else if (this$OrderCode.equals(other$OrderCode)) {
            return true;
        }
        return false;
    }
    
    protected boolean canEqual(final Object other) {
        return other instanceof ExpressInfo;
    }
    
    @Override
    public int hashCode() {
        final int PRIME = 59;
        int result = 1;
        result = result * 59 + (this.isSuccess() ? 79 : 97);
        final Object $LogisticCode = this.getLogisticCode();
        result = result * 59 + (($LogisticCode == null) ? 43 : $LogisticCode.hashCode());
        final Object $ShipperCode = this.getShipperCode();
        result = result * 59 + (($ShipperCode == null) ? 43 : $ShipperCode.hashCode());
        final Object $Traces = this.getTraces();
        result = result * 59 + (($Traces == null) ? 43 : $Traces.hashCode());
        final Object $State = this.getState();
        result = result * 59 + (($State == null) ? 43 : $State.hashCode());
        final Object $EBusinessID = this.getEBusinessID();
        result = result * 59 + (($EBusinessID == null) ? 43 : $EBusinessID.hashCode());
        final Object $Reason = this.getReason();
        result = result * 59 + (($Reason == null) ? 43 : $Reason.hashCode());
        final Object $ShipperName = this.getShipperName();
        result = result * 59 + (($ShipperName == null) ? 43 : $ShipperName.hashCode());
        final Object $OrderCode = this.getOrderCode();
        result = result * 59 + (($OrderCode == null) ? 43 : $OrderCode.hashCode());
        return result;
    }
    
    @Override
    public String toString() {
        return "ExpressInfo(LogisticCode=" + this.getLogisticCode() + ", ShipperCode=" + this.getShipperCode() + ", Traces=" + this.getTraces() + ", State=" + this.getState() + ", EBusinessID=" + this.getEBusinessID() + ", Success=" + this.isSuccess() + ", Reason=" + this.getReason() + ", ShipperName=" + this.getShipperName() + ", OrderCode=" + this.getOrderCode() + ")";
    }
}
